home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / cocktail / puma.lha / puma / m2c / Makefile < prev    next >
Makefile  |  1992-09-25  |  3KB  |  166 lines

  1. BIN    = $(HOME)/bin
  2. LIB    = $(HOME)/lib
  3. OPT    = -O
  4. CC    = cc
  5.  
  6.                 # C library (reuse)
  7. REUSE    = ../../reuse/m2c
  8.  
  9.                 # C libraries
  10. CLIBS    = $(REUSE)/libreuse.a
  11.  
  12.                 # options for C compiler
  13. CFLAGS    = -w -I$(REUSE) $(OPT)
  14.  
  15. M2FLAGS    = -c -d$(HOME)/reuse/src
  16.  
  17.  
  18. all    : puma
  19.  
  20. install:    puma puma.sh $(LIB)/puma
  21.     if test $(LIB) = $(BIN); then echo error: BIN = LIB; false; else true; fi
  22.     sed 's;LIB;$(LIB);g' < puma.sh > $(BIN)/puma
  23.     chmod a+rx $(BIN)/puma
  24.     install -c -s -m 755 puma $(LIB)/puma
  25.     install -c -m 644 Scanner.Tab $(LIB)/puma
  26.     install -c -m 644 Parser.Tab $(LIB)/puma
  27.     install -c -m 644 TypeTab.c $(LIB)/puma
  28.     install -c -m 644 TypeTab.m $(LIB)/puma
  29.  
  30. # installation directories
  31.  
  32. $(LIB)/puma:    $(LIB)
  33.     sh -c "if test ! -d $(LIB)/puma; then mkdir $(LIB)/puma; else true; fi"
  34.  
  35. # swap all byte pairs of the files Scanner.Tab and Parser.Tab
  36.  
  37. bin.conv:
  38.     dd conv=swab < Scanner.Tab > .Scanner.Tab; mv .Scanner.Tab Scanner.Tab
  39.     dd conv=swab < Parser.Tab > .Parser.Tab; mv .Parser.Tab Parser.Tab
  40.  
  41. # SYSTEM_    = SYSTEM_.o
  42.  
  43. lint:
  44.     lint $(CFLAGS) *.c
  45.  
  46.  
  47. # HEAD
  48.  
  49. sources    : C.h
  50. C.h    : Tree.h
  51.  
  52. sources    : C.c
  53. C.o    : C.c C.h
  54. C.o    : Tree.h
  55. C.o    : Semantics.h
  56. C.o    : Optimize.h
  57. C.o    : Tree.h
  58.  
  59. sources    : Mod.h
  60. Mod.h    : Tree.h
  61.  
  62. sources    : Mod.c
  63. Mod.o    : Mod.c Mod.h
  64. Mod.o    : Tree.h
  65. Mod.o    : Semantics.h
  66. Mod.o    : Optimize.h
  67. Mod.o    : Tree.h
  68.  
  69. sources    : Optimize.h
  70. Optimize.h    : Tree.h
  71.  
  72. sources    : Optimize.c
  73. Optimize.o    : Optimize.c Optimize.h
  74. Optimize.o    : Tree.h
  75. Optimize.o    : Mod.h
  76. Optimize.o    : Tree.h
  77. Optimize.o    : Scanner.h
  78.  
  79. sources    : Parser.h
  80.  
  81. sources    : Parser.c
  82. Parser.o    : Parser.c Parser.h
  83. Parser.o    : Scanner.h
  84. Parser.o    : Scanner.h
  85. Parser.o    : Tree.h
  86.  
  87. sources    : Scanner.h
  88.  
  89. sources    : Scanner.c
  90. Scanner.o    : Scanner.c Scanner.h
  91. Scanner.o    : Tree.h
  92.  
  93. sources    : Semantics.h
  94. Semantics.h    : Tree.h
  95. Semantics.h    : Tree.h
  96.  
  97. sources    : Semantics.c
  98. Semantics.o    : Semantics.c Semantics.h
  99. Semantics.o    : Tree.h
  100. Semantics.o    : Scanner.h
  101. Semantics.o    : Tree.h
  102.  
  103. sources    : Tree.h
  104.  
  105. sources    : Tree.c
  106. Tree.o    : Tree.c Tree.h
  107.  
  108. sources    : Tree2.h
  109. Tree2.h    : Tree.h
  110.  
  111. sources    : Tree2.c
  112. Tree2.o    : Tree2.c Tree2.h
  113. Tree2.o    : Tree.h
  114.  
  115. sources    : puma.c
  116. all    : puma
  117. puma.o    : puma.c
  118. puma.o    : Scanner.h
  119. puma.o    : Parser.h
  120. puma.o    : Tree.h
  121. puma.o    : Tree2.h
  122. puma.o    : Semantics.h
  123. puma.o    : Optimize.h
  124. puma.o    : Mod.h
  125. puma.o    : C.h
  126.  
  127. SYSTEM_.o    : SYSTEM_.c SYSTEM_.h
  128.  
  129. puma    : $(SYSTEM)    \
  130.     puma.o    \
  131.     C.o    \
  132.     Tree.o    \
  133.     Optimize.o    \
  134.     Scanner.o    \
  135.     Mod.o    \
  136.     Semantics.o    \
  137.     Tree2.o    \
  138.     Parser.o    \
  139. ;    $(CC) $(CFLAGS) -o puma $(SYSTEM)    \
  140.     puma.o    \
  141.     C.o    \
  142.     Tree.o    \
  143.     Optimize.o    \
  144.     Scanner.o    \
  145.     Mod.o    \
  146.     Semantics.o    \
  147.     Tree2.o    \
  148.     Parser.o    \
  149.     $(CLIBS)
  150.  
  151. # TAIL
  152.  
  153. clean    :
  154.     rm -f core *.o
  155.  
  156. .SUFFIXES: .md .mi .h .c .o
  157.  
  158. .mi.c:
  159.     mtc $(M2FLAGS) $*.mi;
  160.  
  161. .md.h:
  162.     mtc $(M2FLAGS) $*.md;
  163.  
  164. .c.o:
  165.     $(CC) $(CFLAGS) -c $*.c
  166.